1. Field of the Invention
The present invention relates generally to methods and apparatus for changing a user service and the associated data flow in a computer system, and a computer program product therefor. More particularly, the present invention relates to a method and apparatus for altering or migrating a messaging system from a first version, location, or system to a second version, location, or system.
2. Background Art
Due in part to the dynamics of modern business environments, messaging services, including voice messaging services (VMS), have evolved from a simple notation on a piece of paper to sophisticated, computer-controlled messaging and information management systems.
Often a first person places a telephone call to a second person, and the second person is not at the point of call, for example, because of a meeting, and a simple VMS system stores a brief message representing that telephone call. Later, the second person can review the message from the first person and take the appropriate action based on that communication. Even though the persons involved did not have a real-time conversation, the VMS provided a method by which they could conveniently transfer information.
A voice messaging system can be a small, self-contained, microprocessor-controlled device having few features but suitable for use in an individual residence. To the other extreme, a VMS can be a full-featured voice messaging application that services hundreds of thousands of users, or more, simultaneously, running on centralized mainframe computers or distributed enterprise servers. Such a large application could be employed in telephone companies, service bureaus, colleges, and other large institutions.
A VMS preserves the benefits of interactive communications, eliminating the time wasted trying to speak with others directly. It has been reported that 80% of all calls are not answered by the recipient, and about 55% of calls require only one-way communication.
Another benefit of a VMS is that it enables callers in other time zones to leave key messages after normal business hours, permitting business to continue despite the users being on opposite sides of the globe.
The business advantages of having a VMS is put into perspective by the fact that, within the first 15 years of commercial VMS deployment, up to ninety percent of Fortune 500 companies used some form of voice messaging system. Currently, voice messaging systems are evolving into multimedia messaging systems, integrating voice, fax, data, and video messages into one system.
At the most abstract level, a VMS may be viewed as an interface between a message provider and one or more message recipients. Typically, a VMS system itself has interfaces to the message recipients or subscribers and the separate administrative interface. Furthermore, subscriber interfaces can be employed for mailbox access, mailbox greetings, message review, voice messaging, profiling, etc.
A voice messaging system can be implemented on one or more computers such that the subscribers receive timely messaging services even during periods of heavy use. Often, a voice messaging system may also include a network interface to the message provider, or the network interface can be part of a separate network application. In general, many VMS interfaces have been standardized across the industry to provide provisioning, billing, callflow and a variety of administrative reports.
Because of their ubiquity and the critical placement of voice messaging services in the heart of a business' information system, a shutdown or prolonged failure of the messaging system can have disastrous effects on the business. For example, when software upgrades are made, there usually is a great deal of down-time and the voice mail subscribers cannot access their mailboxes. In some circumstances, removing a computer system from service for a software upgrade is a necessity that actually may invite a larger problem. Under certain circumstances, the computer system cannot be put back into service for reasons other than the VMS upgrade. Quite often, these situations can leave a business without telephone communications for days.
In the prior art, an exemplary general migration process took eight steps. This process required the system to be taken off line and shut down, causing a long down-time for users. Although some steps can be accomplished prior to the actual migration, the actual migration itself can create extensive service loss due to down-time. These eight steps can include:
(1) Regenerating a new system file for all mailboxes having appropriate new data added or old data removed; PA1 (2) Verifying the data of each mailbox; PA1 (3) Dumping and storing selected system variables and mailbox data; PA1 (4) Initializing new data sets for the new mailboxes and the system; PA1 (5) Generating the new UVMS application and loading it onto the host; PA1 (6) Loading into the new application the data sets stored at Step 3, above, and initializing the administrative and management functions; PA1 (7) Migrating the old device, or mailbox, from the old application to the new device on the new application; and PA1 (8) Re-initializing networking data, and bringing the network computer system and voice application back into service.
Even if Steps 1 through 7 are executed successfully, Step 8 can introduce an unexpected system failure because the stress of the system shutdown created an unstable state or induced component failure.
What is needed then is a method for upgrading the software of a voice messaging system that is substantially transparent to the user, in that an individual subscriber would be limited in the use of his or her mailbox for a brief, but acceptable period. U.S. patent application Ser. No. 08/694,517, filed Aug. 9, 1996, "System for Incremental Redistribution of Telephony Applications Computing Workload," may be consulted for further background information relating to the present invention, and for its disclosure of a related invention. Briefly, this patent discloses a system for distributing the work load of a telephony messaging service by transferring voice messages and data in small increments from the originating host to the destination host. The small increments do not cause out-of-service conditions for the users not being migrated, and the efficient transfer mechanism reduces the time during which the small increment of user services being transferred is out of service. In this way, the system permits the transfer of selected user voice mailboxes from one host to another while minimizing out-of-service conditions. Moreover, the system administrator is able to specify a dynamically scaleable number of concurrent dialogs that are to be used in transferring the voice messages, and so he or she can control the transfer while it is in progress to enhance efficiency by increasing or decreasing the number of dialogs utilized in the transfer.